package com.ctsi.question.entity;

import com.ctsi.framework.common.convert.DateSerializerConvert;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;

import javax.persistence.*;
import java.io.Serializable;

@Entity
@Table(name = "t_week_report_d")
public class WeekReportDetailEntity implements Serializable {

    @Id
    private String id;
    /**
     * 周报ID
     */
    @Column
    private String weekReportId;
    /**
     * 工作类型
     */
    @Column
    private String jobType;
    /**
     * 工作内容
     */
    @Lob
    private String jobContent;
    /**
     * 未完成说明
     */
    @Lob
    private String noCompleteReason;
    /**
     * 项目编号
     */
    @Column
    private String projectCode;
    /**
     * 项目完成进度
     */
    @Column
    private Integer complateRate;
    /**
     * 预计完成时间
     */
    @Column
    private Long expectComplateTime;

    /**
     * 关键进展点
     */
    @Column
    private String mainPoint;

    /**
     * 自我评价
     */
    @Column
    private String selfEval;
    /**
     * 领导批示
     */
    @Lob
    private String leaderApproval;
    /**
     * 领导批示时间
     */
    @JsonSerialize(using = DateSerializerConvert.Long2DateTimeSerialize.class)
    @Column
    private Long leaderApprovalTime;

    /**
     * 领导评价
     */
    @Column
    private String leaderEval;

    public WeekReportDetailEntity() {
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getWeekReportId() {
        return weekReportId;
    }

    public void setWeekReportId(String weekReportId) {
        this.weekReportId = weekReportId;
    }

    public String getJobType() {
        return jobType;
    }

    public void setJobType(String jobType) {
        this.jobType = jobType;
    }

    public String getJobContent() {
        return jobContent;
    }

    public void setJobContent(String jobContent) {
        this.jobContent = jobContent;
    }

    public String getNoCompleteReason() {
        return noCompleteReason;
    }

    public void setNoCompleteReason(String noCompleteReason) {
        this.noCompleteReason = noCompleteReason;
    }

    public String getProjectCode() {
        return projectCode;
    }

    public void setProjectCode(String projectCode) {
        this.projectCode = projectCode;
    }

    public Integer getComplateRate() {
        return complateRate;
    }

    public void setComplateRate(Integer complateRate) {
        this.complateRate = complateRate;
    }

    public Long getExpectComplateTime() {
        return expectComplateTime;
    }

    public void setExpectComplateTime(Long expectComplateTime) {
        this.expectComplateTime = expectComplateTime;
    }

    public String getSelfEval() {
        return selfEval;
    }

    public void setSelfEval(String selfEval) {
        this.selfEval = selfEval;
    }

    public String getLeaderApproval() {
        return leaderApproval;
    }

    public void setLeaderApproval(String leaderApproval) {
        this.leaderApproval = leaderApproval;
    }

    public Long getLeaderApprovalTime() {
        return leaderApprovalTime;
    }

    public void setLeaderApprovalTime(Long leaderApprovalTime) {
        this.leaderApprovalTime = leaderApprovalTime;
    }

    public String getLeaderEval() {
        return leaderEval;
    }

    public void setLeaderEval(String leaderEval) {
        this.leaderEval = leaderEval;
    }

    public String getMainPoint() {
        return mainPoint;
    }

    public void setMainPoint(String mainPoint) {
        this.mainPoint = mainPoint;
    }
}
